// utils/router.js
 
// 封装 navigateTo
function navigateTo(options) {
  if (beforeEach(options.url)) {
    uni.navigateTo(options);
  }
}
 
// 封装 redirectTo
function redirectTo(options) {
  if (beforeEach(options.url)) {
    uni.redirectTo(options);
  }
}
 
// 封装 switchTab
function switchTab(options) {
  if (beforeEach(options.url)) {
    uni.switchTab(options);
  }
}
 
// 封装 reLaunch
function reLaunch(options) {
  if (beforeEach(options.url)) {
    uni.reLaunch(options);
  }
}
 
// 封装 navigateBack
function navigateBack(options) {
  if (beforeEach()) {
    uni.navigateBack(options);
  }
}
 
// 自定义路由守卫函数
function beforeEach(url) {
  // 在这里添加自定义逻辑，例如权限验证
  // console.log("beforeEach",url,url.includes('pages_permission'))
  if (url.includes('pages_permission')) {
    // 检查是否有权限访问受保护页面
    const hasAccess = checkUserAccess();
    if (!hasAccess) {
      uni.showToast({
        title: '还没登录，请先登录',
        icon: 'none'
      });
	  setTimeout(()=>{
		   navigateTo({url:'/pages/login/login'})
	  },1500)
	 
      return false;
    }
  }
  return true;
}
 
// 示例：检查用户访问权限
function checkUserAccess() {
  // 在这里添加具体的权限验证逻辑
  // 例如检查用户是否已登录
  let tokens = ''
  if(uni.getStorageSync('lifeData')){
	 tokens = uni.getStorageSync('lifeData').vuex_token 
  }
  return !!tokens;
}
 
// 导出封装的方法
export default {
  navigateTo,
  redirectTo,
  switchTab,
  reLaunch,
  navigateBack
};